package com.xiangge.array;

import java.util.Scanner;

/*
    数组的遍历：
        遍历：将数组中的元素从前往后或者从后往前拿出来
        变量方式：
           普通for:
               分类：
                  arr.fori : 从前往后遍历
                  arr.forr : 从后往前遍历
               特点：
                   1. 操做的i是索引
                   2. 可以从前往后 也可以 从后往前遍历

           增强for:
             格式：
                 for(数据类型 元素名 : 数组名){
                    循环体;
                 }
             特点:
                1. 只能操作元素不能操作索引
                2. 结构比较简单,底层采用迭代器原理
             【随堂练习】
                1、 获取10个学生的成绩，然后保存在数组中，最后计算学生的总分和平均分。
 */
public class ArrayDemo4 {
    public static void main(String[] args) {
        /*
            分析：
                1. 使用new关键字创建一个长度为：10的数组 , 数组名arr
                2. 使用for循环定义变量i代表[0,9]范围内的每一个索引
                3. 在循环内,键盘录入成绩score , 然后将成绩赋值 给 arr[i]
                4. 循环结束之后, 再使用for遍历 数组arr，将每一个元素值累加到sum
                5. 循环结束之后求出平均分： avg = sum / arr.length , 然后输出sum 和 avg
         */
        // 创建键盘录入对象
        Scanner input = new Scanner(System.in);

        //  1. 使用new关键字创建一个长度为：10的数组 , 数组名arr
        int[] arr = new int[10];
        // 2. 使用for循环定义变量i代表[0,9]范围内的每一个索引
        for (int i = 0; i < arr.length; i++) {
            // 3. 在循环内,键盘录入成绩score , 然后将成绩赋值 给 arr[i]
            System.out.println("请输入第" + (i + 1) + "个学生成绩：");
            arr[i] = input.nextInt();
        }
        //  4. 循环结束之后, 再使用for遍历 数组arr，将每一个元素值累加到sum
        double sum = 0.0;
        for (int element : arr) {
            sum = sum + element;
        }
        //    5. 循环结束之后求出平均分： avg = sum / arr.length , 然后输出sum 和 avg
        double avg = sum / arr.length;

        // 6. 输出sum和avg
        System.out.println("学生成绩的和为:" + sum);
        System.out.println("学生成绩的平均分为:" + avg);



    }
    public static void main1(String[] args) {
        int[] arr = {1, 2, 3, 4, 5};
        // 最简单遍历
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        System.out.println(arr[3]);
        System.out.println(arr[4]);
        System.out.println("-----------------------------------------");
        // 使用for循环遍历 : 从前往后
        for (int i = 0; i < arr.length; i++) { // arr.fori
            System.out.println(arr[i]);
        }
        System.out.println("-----------------------------------------");
        // 使用for循环遍历 : 从后往前
        for (int i = arr.length - 1; i >= 0; i--) { // arr.forr
            System.out.println(arr[i]);
        }
        System.out.println("-----------------------------------------");
        // 使用增强for进行遍历 ： 只能从前往后
        for (int element : arr) {   // arr.for
            System.out.println(element);
        }
    }
}
